/**
 * 正则表达式的相关函数，在此集中管理，方便升级维护
 */
coos.regex = {
	//由于小写double int是javascript关键字，检测器会报错，所以采有大写的,表达式里面用\的必须用双斜杠\\代替,/用\/转义
	Double   : "^[0-9|-]+[\\.]?[0-9]*$",
	Int      : "^[0-9]+[0-9]*$",
	Date     : "^(\\d{1,4})(-|\/)(\\d{1,2})\\2(\\d{1,2})$",
	DateTime : "^(\\d{1,4})(-|\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$",
	Letter   : "^[a-zA-Z]+$",//英文字母
	Chinese  : "^[\\u0391-\\uFFE5]+$",//中文
	Email    : "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$",
	Phone    : "^((\\(\\d{2,3}\\))|(\\d{3}\\-))?(\\(0\\d{2,3}\\)|0\\d{2,3}-)?[1-9]\\d{6,7}(\\-\\d{1,4})?$",    
	Mobile   : "1(3|5|8)[0-9]{9}$",//手机号码 13xx 15xx 18xx 开头
	Url      : "^[http|https]:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$",   
	IdCard   : "^\\d{15}(\\d{2}[A-Za-z0-9])?$", //身份证号码  
	QQ       : "^[1-9]\\d{4,9}$",
	ZIP      : "^\\d{6}$",//邮编
	Account  : "^\\w+$",//^[A-Za-z0-9_]+$ 英文字母或数字或下划线
	Empty    : ""
};

/**
 * 通用的test方法
 */
coos.regex.test = function(str,regex)
{
	var oReg = new RegExp(regex);
	return oReg.test(str);	
};

/**
 * 判断传入的字符串是否为数字
 */
coos.regex.isDouble = function(str)
{
	return coos.regex.test(str,coos.regex.Double);
};

/**
 * 判断传入的字符串是否为整数
 */
coos.regex.isInt = function(str)
{
	return coos.regex.test(str,coos.regex.Int);
};

/**
 *  判断传入的字符串是否为空
 */
coos.regex.isEmpty = function(str)
{
	return coos.regex.test(str,coos.regex.Empty);
};

/**
 *  判断传入的字符串是否为手机号码
 */
coos.regex.isMobile = function(str)
{
	return coos.regex.test(str,coos.regex.Mobile);
};

/**
 *  判断传入的字符串是否为帐号
 */
coos.regex.isAccount = function(str)
{
	return coos.regex.test(str,coos.regex.Account);
};

/**
 *  判断传入的字符串是否为QQ号码
 */
coos.regex.isQQ = function(str)
{
	return coos.regex.test(str,coos.regex.QQ);
};

/**
 *  判断传入的字符串是否为邮箱
 */
coos.regex.isEmail = function(str)
{
	return coos.regex.test(str,coos.regex.Email);
};
